+Tue Oct 12 17:11:02 2004 <timj@birnet.org>
+
+ * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the
+ widget for resize or emit change notification if the usize didn't
+ change. this works around a buggy signal connection in #155139.
+
2004-10-11 Matthias Clasen <matthias@localhost.localdomain>
* docs/tools/widgets.c: Create scrolledwindow, statusbar,
+Tue Oct 12 17:11:02 2004 <timj@birnet.org>
+
+ * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the
+ widget for resize or emit change notification if the usize didn't
+ change. this works around a buggy signal connection in #155139.
+
2004-10-11 Matthias Clasen <matthias@localhost.localdomain>
* docs/tools/widgets.c: Create scrolledwindow, statusbar,
+Tue Oct 12 17:11:02 2004 <timj@birnet.org>
+
+ * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the
+ widget for resize or emit change notification if the usize didn't
+ change. this works around a buggy signal connection in #155139.
+
2004-10-11 Matthias Clasen <matthias@localhost.localdomain>
* docs/tools/widgets.c: Create scrolledwindow, statusbar,
+Tue Oct 12 17:11:02 2004 <timj@birnet.org>
+
+ * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the
+ widget for resize or emit change notification if the usize didn't
+ change. this works around a buggy signal connection in #155139.
+
2004-10-11 Matthias Clasen <matthias@localhost.localdomain>
* docs/tools/widgets.c: Create scrolledwindow, statusbar,
gint height)
{
GtkWidgetAuxInfo *aux_info;
+ gboolean changed = FALSE;
g_return_if_fail (GTK_IS_WIDGET (widget));
g_object_freeze_notify (G_OBJECT (widget));
- aux_info =_gtk_widget_get_aux_info (widget, TRUE);
+ aux_info = _gtk_widget_get_aux_info (widget, TRUE);
- if (width > -2)
+ if (width > -2 && aux_info->width != width)
{
g_object_notify (G_OBJECT (widget), "width_request");
aux_info->width = width;
+ changed = TRUE;
}
- if (height > -2)
+ if (height > -2 && aux_info->height != height)
{
g_object_notify (G_OBJECT (widget), "height_request");
aux_info->height = height;
+ changed = TRUE;
}
- if (GTK_WIDGET_VISIBLE (widget))
+ if (GTK_WIDGET_VISIBLE (widget) && changed)
gtk_widget_queue_resize (widget);
g_object_thaw_notify (G_OBJECT (widget));